Repository navigation
chore: merge main into next - #3664
christianhg wants to merge 48 commits into
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
🦋 Changeset detectedLatest commit: 3fec37b The changes in this PR will be included in the next version bump. This PR includes changesets to release 15 packages
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
Bundle Stats✅ No significant changes. All scenario measurements (34)🗺️
Significant means at least 1.0 KB and 1% gzip, or at least 5 ms and 10% import time. |
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
An `insert.break` mid-span in a three-span block splits the block and makes the moved spans reappear under their original keys in the new block, the shape the interpreter's key-reappearance oracle sweeps. No existing capture covers it. The snapshot is the fixture; consumers read `__fixtures__/wire-catalogue/block-split-multi-span.json`. `@portabletext/steps` reads the shared catalogue across packages for conformance and cannot regenerate captures itself (regeneration needs `createTestEditor`), so the scenario lands editor-side.
`applyStructuralCorrection` accepted only `set` patches. When repair returned an `unset` for a non-object array entry, normalization threw before it could remove the entry. Apply `unset` corrections through the editor operation pipeline. Removed paths are not re-queued because the numeric path would resolve to the next sibling after removal. Each removed entry emits one local positional `unset`; `null` entries keep their existing editor behavior.
The single-block array passed by `syncBlock` made root numeric paths and missing-key descriptions identify index zero for every entry. Accepting a resolution could therefore remove or overwrite the first block instead of repairing the invalid entry. Pass the incoming value index as an optional `validateValue` offset. Root numeric paths, descriptions, and translation values now use that position. Keyed paths and child indices remain unchanged, preserving local application of auto-resolutions to the single-block array.
Pin sustained abnormal samples, recovery and retry isolation in the host evidence fixtures. Exercise a stopped process with failing sudo under `errexit` and `pipefail`, including its second thread capture at least 30 seconds later and the subsequent exit record. The original scripts fail all five new regression cases.
The host sampler recorded qemu's process state but no thread evidence before a loss. Two consecutive samples outside `S` and `R` now capture each task's name, state and wait channel, with a privileged kernel stack when available. Bound each stack read and ignore capture failures. Capture once more after 30 seconds if the process is still abnormal, with at most two captures per tracked process. Append the first abnormal sample's UTC time to an exit's host evidence when its final abnormal streak contains at least two samples. Recovery and a previous emulator's exit cannot carry a freeze into that result. Document the new artifacts without changing the workflow or run result.
Brings main into next: the removal of the markdown package and the bump of the playground and doc examples to @portabletext/markdown ^2.9.4. Next already had its own copy of the removal. Both copies re-padded the same table in skills/portable-text-editor/SKILL.md differently, so that merge conflicted and resolves to next's version of the file, which has the same content. The bump merges cleanly.
Note
Medium Risk
Editor sync, normalization, and a major
@portabletext/repairAPI change affect document shape and patch streams; Android CI changes are mostly observability but touch runtime timeouts.Overview
Brings main into next (including the markdown package removal and bumping
@portabletext/markdownto ^2.9.4 in doc-examples and playground) alongside substantive editor and tooling changes.Portable Text editor and repair: Invalid array entries (strings, numbers, booleans, non-empty arrays, etc.) are now removed with
unsetpatches instead of being coerced into blocks.@portabletext/repairadds a breakingnon-objectrule and documentsunsetalongsideset. Invalid-value resolutions use anindexOffsetso fixes target the real block index. Block objects keep their ownchildrenfield—only text blocks treatchildrenas the span array—so galleries/callouts witharrayField: 'children'sync, render, patch, move, paste, and undo correctly. Normalization applies structuralunsetpatches and avoids re-queuing removed paths.Android IME / CI: The host sampler records emulator freezes (thread dumps, optional kernel stacks) and job summaries can report freeze times. uiautomator2 jar cache paths move under
packages/editor/node_modules/.cache/thumbjar/. Japanese device tests distinguish Space-committed vs candidate-tapped words when asserting kanji. thumbjar stage timeouts and Node guards are documented and exercised; freeze/sampler behavior gets extensive Linux integration tests.Reviewed by Cursor Bugbot for commit 3fec37b. Bugbot is set up for automated code reviews on this repo. Configure here.